package com.dfe.backend.common.sax.spd.substation.region.device;

import lombok.Data;

/**
 * 【描述】：Pin元素表示设备或子设备的接线端子、光纤接口、以太网口等可对外进行连接的连接点，符合以下规定：
 * a)Pin元素包含的属性应与PinTemplate元素一致。
 * b)当Pin所属的Device或SubDevice元素的partName属性不为空时，Pin元素为partName对应的PartTemplate下相同name的PinTemplate元素实例。
 * 当Pin元素与PinTemplate元素的属性值不同时，应显式实例化Pin元素，并声明值不同的属性，未声明的属性与PinTemplate元素的属性值相同。
 * 当Pin元素与PinTemplate元素的属性值相同时，可隐式实例化Pin元素。
 * 当Pin所属的Device或SubDevice元素的partName属性为空时，应显式的实例化Pin元素及其属性
 *
 * @author LiChang
 * @since 2025-7-29 13:37
 */
@Data
public class Pin {
    /**
     * 连接点模板的名称，应在PinTemplate元素下唯一
     */
    private String name;
    /**
     * 连接点模板的类型，枚举值符合表24的规定。缺省值为：TerminalPin
     */
    private String type;
    /**
     * 连接点的功能描述
     */
    private String desc;
    /**
     * 连接点模板内侧、外侧。枚举类值为External/Internal。PartTemplate类型为TM（端子）时，此属性不为空。PartTemplate类型不为TM（端子）时，可为空
     */
    private String side;
}
